1. Field of the Invention
The present invention relates to the field of managing software licenses. More specifically, the present invention relates to a software pay per use licensing system.
2. Background Information
Many software are licensed on a machine by machine basis. In other words, each machine is provided with its own license. Once licensed, any number of users connected to the machine, directly or remotely, may execute one or more copies of the software on the machine. Other software are licensed on a user basis. That is, up a maximum of N users (where N is the number of licensed users) may execute one or more copies of the software on the machine at the same time. Numerous machine based as well as user based licensing systems are known in the art.
Recently, increasing number of software applications, e.g. electronic design automation (EDA) software, are interested in being licensed on a pay-per-use basis. Pay-per-use licensing system has at least the advantage of lower up front cost for the licensees, which in turn often leads to higher sales and greater revenue in the long run for the licensor. One such pay-per-use licensing system is disclosed in U.S. Pat. No. 5,625,690. Under the '690 approach, an encryption program is employed to encode the software using cryptographic techniques. In order to use the software, a user must call a telephone number to receive the cryptographic keys necessary to decrypt the encrypted software, thereby forcing the user to pay for each use. The approach suffers from at least the disadvantage of forcing the potential pay-per-use licensee to have to contact the licensor at the time of the desired usage, which may or may not be a convenient time for the user. The time incurred for the transfer of the cryptographic keys slows down the software's start up process, leading to a user perception of poor performance. Thus, in practice, the retrieval of the encrypted keys are often performed only once at the "first use". While this alternate practice improves user satisfaction, the practice compromises system integrity. Therefore, a more user friendly, and yet reasonably robust software pay-per-use licensing system is desired.